/*
 * Powered By [rapid-framework]
 * Web Site: http://www.rapid-framework.org.cn
 * Google Code: http://code.google.com/p/rapid-framework/
 * Since 2008 - 2018
 */

package com.bm.console.action;

import java.util.List;
import org.springframework.web.bind.annotation.RequestBody;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.util.StringUtils;
import org.springframework.validation.BindingResult;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import com.bm.console.business.WebVideoTypeService;
import com.bm.console.pojo.WebVideoType;
import com.sys.object.common.ObjException;
import com.sys.object.common.ObjResultCode;
import com.sys.object.common.ObjResultException;
import com.sys.object.common.ObjResultJSON;
import com.sys.object.common.page.PageBean;
@Controller
public class WebVideoTypeAction{

	@Resource WebVideoTypeService webVideoTypeService;

	@RequestMapping(value = "/webVideoTypeList.do")
	public String webVideoTypeList(PageBean pageBean, Model model, WebVideoType webVideoType) {
		try {
			pageBean = webVideoTypeService.queryPageList(webVideoType, pageBean);
			model.addAttribute("pageBean", pageBean);
			model.addAttribute("startRow", pageBean.getStartRow());
			model.addAttribute("entity", webVideoType);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return "/web/webvideotype/list";
	}

	/**
	 * 新增动态 Get
	 */
	@RequestMapping(value = "/addWebVideoType.do", method = RequestMethod.GET)
	public String addWebVideoType(@ModelAttribute("webVideoType") WebVideoType webVideoType, Model model, String id) {
		Integer prow = 0;
		try {
			// ArrayList<DictCategory> listcate = bbsService.selectByAll();
			if (StringUtils.hasText(id)) {
				WebVideoType record = webVideoTypeService.queryByPrimaryKey(Integer.parseInt(id));
				model.addAttribute("entity", record);
			}
			// model.addAttribute("listcate", listcate);
		} catch (NumberFormatException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		model.addAttribute("prow", prow);
		return "/web/webvideotype/add";
	}

	/**
	 * 新增动态 Post
	 */
	@RequestMapping(value = "/saveWebVideoType.do", method = RequestMethod.POST)
	public String saveWebVideoType(@Validated @ModelAttribute("webVideoType") WebVideoType webVideoType,
			BindingResult result, Model model, Integer prow,
			HttpServletRequest request) {
		ObjResultException<String> ret = new ObjResultException<String>();
		try {
			int success = webVideoTypeService.saveOrUpdate(webVideoType);
			if (success > 0) {
				ret.setResultCode(ObjResultCode.OK);
			} else {
				ret.setResultCode(ObjResultCode.USER_LOGIN_ERROR);
			}
		} catch (Exception e) {

			if (e.getClass().equals(ObjException.class)) {
				ret.setResultCode(((ObjException) e).getCode());
			} else {
				ret.setResultCode(ObjResultCode.ERROR);

			}
			e.printStackTrace();
			model.addAttribute("entity", webVideoType);
			model.addAttribute("ret", ret);
			return "/web/webvideotype/add";
		}
		return "redirect:/webVideoTypeList.do?status=";
	}
	
	/**
	 * 新增动态 Post
	 */
	@RequestMapping(value = "/saveWebVideoTypeJson.do", method = RequestMethod.POST)
	@ResponseBody
	public ObjResultException<String> saveWebVideoTypeJson(@RequestBody WebVideoType webVideoType, Model model,
			HttpServletRequest request) {
		ObjResultException<String> ret = new ObjResultException<String>();
		try {
			int success = webVideoTypeService.saveOrUpdate(webVideoType);
			if (success > 0) {
				ret.setResultCode(ObjResultCode.OK);
			} else {
				ret.setResultCode(ObjResultCode.USER_LOGIN_ERROR);
			}
		} catch (Exception e) {
			if (e.getClass().equals(ObjException.class)) {
				ret.setResultCode(((ObjException) e).getCode());
			} else {
				ret.setResultCode(ObjResultCode.ERROR);
			}
		}
		return ret;
	}

	/**
	 * 删除APP
	 */
	@RequestMapping("/deleteWebVideoType.do")
	@ResponseBody
	public ObjResultException<String> deleteWebVideoType(Integer id) {
		ObjResultException<String> ret = new ObjResultException<String>();
		try {
			int success = webVideoTypeService.delete(id);

			if (success > 0) {
				ret.setResultCode(ObjResultCode.OK);
			} else {
				ret.setResultCode(ObjResultCode.USER_LOGIN_ERROR);
			}
		} catch (Exception e) {
			if (e.getClass().equals(ObjException.class)) {
				ret.setResultCode(((ObjException) e).getCode());
			} else {
				ret.setResultCode(ObjResultCode.ERROR);
			}
			e.printStackTrace();
		}
		return ret;
	}

	/**
	 * 修改状态APP
	 */
	@RequestMapping("/updateStatusWebVideoType.do")
	@ResponseBody
	public ObjResultException<String> updateStatusWebVideoType(WebVideoType webVideoType) {
		ObjResultException<String> ret = new ObjResultException<String>();
		try {
			int success = webVideoTypeService.updateStatus(webVideoType);

			if (success > 0) {
				ret.setResultCode(ObjResultCode.OK);
			} else {
				ret.setResultCode(ObjResultCode.USER_LOGIN_ERROR);
			}
		} catch (Exception e) {
			if (e.getClass().equals(ObjException.class)) {
				ret.setResultCode(((ObjException) e).getCode());
			} else {
				ret.setResultCode(ObjResultCode.ERROR);
			}
		}
		return ret;
	}
}